package com.alibaba.citrus.cr.unified.inventory.sdo;

import com.google.gson.annotations.SerializedName;
import lombok.Data;

import java.util.Date;

/**
 * @description:
 * @author: yuhw
 * @date: 2021年09月18日 14:53
 **/
@Data
public class AllocateOrderDetailSDO {
    @SerializedName(value = "id")
    private Long id;

    /**
     * 小计金额 含税价 折后金额
     */
    @SerializedName(value = "sub_total_amount")
    private String subTotalAmount;

    /**
     * 调拨单编码
     */
    @SerializedName(value = "allocate_order_code")
    private String allocateOrderCode;

    /**
     * 备注
     */
    @SerializedName(value = "remarks")
    private String remarks;

    /**
     * 发票号
     */
    @SerializedName(value = "invoice_no")
    private String invoiceNo;

    /**
     * 发票id
     */
    @SerializedName(value = "invoice_line_no")
    private String invoiceLineNo;

    /**
     * 交货数量
     */
    @SerializedName(value = "delivery_quantity")
    private String deliveryQuantity;

    /**
     * 额外字段
     */
    @SerializedName(value = "ext")
    private String ext;

    /**
     * 扩展信息
     */
    @SerializedName(value = "features")
    private String features;

    /**
     * 调拨类型
     */
    @SerializedName(value = "type")
    private Integer type;

    /**
     * 数量
     */
    @SerializedName(value = "quantity")
    private String quantity;

    /**
     * 货品id
     */
    @SerializedName(value = "scItemId")
    private String scItemId;

    /**
     * 行号
     */
    @SerializedName(value = "lineNo")
    private String lineNo;

    /**
     * 是否关闭
     */
    @SerializedName(value = "close")
    private Boolean close;

    @SerializedName(value = "gmt_create")
    private Date gmt_create;

    /**
     * 单位
     */
    @SerializedName(value = "unit")
    private String unit;

    /**
     * 确认量
     */
    @SerializedName(value = "confirmQuantity")
    private String confirmQuantity;

    /**
     * 发货量
     */
    @SerializedName(value = "ship_quantity")
    private String shipQuantity;

    /**
     * 收货量
     */
    @SerializedName(value = "receive_quantity")
    private String receiveQuantity;

    /**
     * 折后金额 sap传入的折后金额
     */
    @SerializedName(value = "discount_amount")
    private String discountAmount;

    /**
     * 赠送数量
     */
    @SerializedName(value = "gift_quantity")
    private Integer giftQuantity;

    /**
     * 税率
     */
    @SerializedName(value = "tax_rate")
    private String taxRate;

    /**
     * 期待生产日期
     */
    @SerializedName(value = "expectedProduceDate")
    private Date expectedProduceDate;

    /**
     * 状态
     */
    @SerializedName(value = "status")
    private Integer status;

    /**
     * 关闭原因
     */
    @SerializedName(value = "closeReason")
    private String closeReason;

    /**
     * 版本
     */
    @SerializedName(value = "version")
    private Integer version;

    /**
     * 产品组
     */
    @SerializedName(value = "productGroup")
    private String productGroup;

    /**
     * 调拨单id
     */
    @SerializedName(value = "allocateOrderId")
    private String allocateOrderId;

    /**
     * sap对应行id
     */
    @SerializedName(value = "outAllocateOrderLineId")
    private String outAllocateOrderLineId;

    /**
     * 调拨预报单行id
     */
    @SerializedName(value = "allocateApplyOrderLineId")
    private String allocateApplyOrderLineId;

    /**
     * 货品编码
     */
    @SerializedName(value = "scItemCode")
    private String scItemCode;

    /**
     * 预报数量
     */
    @SerializedName(value = "applyQuantity")
    private Long applyQuantity;

    /**
     * 回复数量
     */
    @SerializedName(value = "replyQuantity")
    private Long replyQuantity;

    /**
     * 价格
     */
    @SerializedName(value = "price")
    private Long price;

    @SerializedName(value = "gmt_modified")
    private Date gmt_modified;

    @SerializedName(value = "creator")
    private String creator;

    /**
     * 是否退单
     */
    @SerializedName(value = "return_order")
    private Boolean returnOrder;

    @SerializedName(value = "updater")
    private String updater;

}
